package com.fc.primary.oop;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

/**
 * @program: fc-java->DuoTai2
 * @description:多态——面向接口编程
 * @author: G_Y
 * @create: 2019-09-05 12:29
 **/
public class DuoTai2 {

}
interface IPrinter {
    //装纸
    public void initPaper(IPaper paper);
    //打印，需要在打印时报备纸张信息，并且说明时什么类型的打印
    public void print();
    //报备纸张信息
    public void showPaperIntroduce();
}
interface IPaper {
    //纸张提供自己的类型
    public String getType();
    //纸张提供自己的规格说明
    public String viewIntroduce();
}
abstract class APrinter implements IPrinter {
    protected IPaper paper;
    @Override
    public void initPaper(IPaper paper) {
        this.paper = paper;
    }
    @Override
    public void showPaperIntroduce() {
        System.out.println("打印机自动报备当前使用纸张:");
        System.out.println(paper.viewIntroduce());
    }
}